Field of the Invention
The present invention generally relates to data transmissions, and, more specifically, to an approach for performing channel equalization training using an equalization coefficient search algorithm.
Description of the Related Art
A typical data connector, such as a peripheral component interface (PCI) or PCI express (PCIe), allows different processing units within a computer system to exchange data with one another. For example, a conventional computer system could include a central processing unit (CPU) that exchanges data with a graphics processing unit (GPU) across a PCIe bus.
When a signal is transmitted across the data connector on a transmission channel, some frequency components may be attenuated more than others, which can make the signal illegible at the receiving end. As transmission speeds get faster, the transmissions can become more prone to errors as the noise effects are more severe. In high-speed transmission channels, the signal quality is critically important. One technique to combat this tendency is to “equalize” the channel so that the frequency domain attributes of the signal at the input end are faithfully reproduced at the output end, resulting in fewer errors. High-speed serial communications protocols like PCIe use equalizers to prepare data signals for transmission.
Equalization can be performed on both the transmit end and the receive end of a channel. For transmit equalization, the signal can be reshaped at the transmit end before the signal is sent to attempt to overcome the distortion that will be introduced by the channel. At the receive end, the signal can be reconditioned to improve the signal quality.
For transmit equalization in PCIe, two parameters known as equalization coefficients can be used to tune the transmitter. A typical system may have hundreds of combinations of equalization coefficients, and some of these combinations will produce better equalization results than others. The signal quality is critically important in high-speed transmission channels, so an optimal set of coefficients is crucial to ensure accurate transmissions. During the equalization process, one combination of coefficients must be selected that meets the performance requirements of the system. In addition, selecting this combination must be done within a fixed time limit so that the system can boot up or begin other processes. Testing every combination of coefficients to find the best one is unfeasible, as this approach will usually take too much time. Additionally, current approaches used to test a subset of combinations of coefficients will often lead to selecting a suboptimal combination.
Accordingly, what is needed in the art is a technique that tests and selects equalization coefficients for a high-speed bus in a more efficient manner.